Python numpy linalg.cholesky用法及代码示例 |
您所在的位置:网站首页 › matlab cholesky分解函数 › Python numpy linalg.cholesky用法及代码示例 |
Cholesky 分解。 返回 Cholesky 分解,L * L.H, 方阵a,其中L是下三角形,.H 是共轭转置算子(如果a是实值)。a必须是 Hermitian(如果为实值,则为对称)且是正定的。不进行检查以验证是否a是厄米特还是不是。此外,只有下三角形和对角线元素a被使用。仅有的L实际上是返回的。 参数: a: (…, M, M) 数组Hermitian(对称,如果所有元素都是实数),正定输入矩阵。 返回: L: (…, M, M) 数组a 的上三角或下三角 Cholesky 因子。如果 a 是矩阵对象,则返回一个矩阵对象。 抛出: LinAlgError如果分解失败,例如,如果 a 不是正定的。 注意:广播规则适用,有关详细信息,请参阅 numpy.linalg 文档。 Cholesky 分解通常用作求解的快速方法 \[A \mathbf{x} = \mathbf{b}\]
(当 A 是 Hermitian/对称和正定时)。 首先,我们求解\(\mathbf{y}\) \[L \mathbf{y} = \mathbf{b},\]
然后在 \(\mathbf{x}\) 中 \[L.H \mathbf{x} = \mathbf{y}.\]例子: >>> A = np.array([[1,-2j],[2j,5]]) >>> A array([[ 1.+0.j, -0.-2.j], [ 0.+2.j, 5.+0.j]]) >>> L = np.linalg.cholesky(A) >>> L array([[1.+0.j, 0.+0.j], [0.+2.j, 1.+0.j]]) >>> np.dot(L, L.T.conj()) # verify that L * L.H = A array([[1.+0.j, 0.-2.j], [0.+2.j, 5.+0.j]]) >>> A = [[1,-2j],[2j,5]] # what happens if A is only array_like? >>> np.linalg.cholesky(A) # an ndarray object is returned array([[1.+0.j, 0.+0.j], [0.+2.j, 1.+0.j]]) >>> # But a matrix object is returned if A is a matrix object >>> np.linalg.cholesky(np.matrix(A)) matrix([[ 1.+0.j, 0.+0.j], [ 0.+2.j, 1.+0.j]]) |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |